In an ordinary robot or NC, an acceleration/deceleration filter is used for each axis to smoothly control the movement of a movable element up to a target position, and the velocity of the element is commanded by a program. This enables movement to be controlled along a set trajectory at a predetermined velocity. Accordingly, once programming has been correctly performed, the trajectory of motion of the movable element is always the same and error at execution of an activity does not pose a problem.
However, there are cases, as, for example, in a conventional teaching-type robot, in which the object under control has a plurality of drive mechanisms and, in a test run, a trajectory of motion is set upon reducing velocity by a velocity override mechanism to establish a velocity different from the velocity that will actually prevail when the program is executed. In a case such as this, the quantity of command pulses that will accummulate at the time of acceleration and at the time of deceleration will differ in dependence upon the commanded velocity. Also, when performing corner machining by a machine tool, the amount of override changes and a similar problem can occur.
FIGS. 4(a), (b) are explanatory views showing examples of acceleration/deceleration characteristics, in which time t is plotted along the horizontal axis and velocity V along the vertical axis. FIGS. 4(a), (b) show examples in which an acceleration/deceleration time constant is set to a constant value T and the relation between V.sub.1 and V.sub.2 is V.sub.1 =2V.sub.2. In this case an area S.sub.1 defined by a triangle q.sub.1 -t.sub.a -t.sub.b and an area S.sub.2 defined by a triangle q.sub.2 -t.sub.c -t.sub.d each represent an amount of accumulated command pulses, where the relation S.sub.1 &gt;S.sub.2 holds. Therefore, even after a program commanding movement of a movable element is set, an override set independently of the movement command causes the trajectory at a corner portion to vary in dependence upon the amount of velocity override. A problem that arises is that, in an arc welding robot or the like, it becomes necessary to apply a correction in accordance with position information from a visual sensor and the like.
FIG. 5 is a view for explaining an example in which a difference in trajectory occurs at a corner portion, as mentioned above. This shows that when acceleration/deceleration control of a servomotor is performed at the same time constant T in a case where a trajectory P.sub.1 -Q-P.sub.2 passing through a corner portion Q is set, the extent to which a movable member strays from a normal trajectory is greater at a high velocity than at a low velocity.